﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.nm.Attributes;

namespace DistributeAPI.Model
{
    public class NewPlanningOrderQuantityModel
    {
        public class CoreModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
            [ParamDescription("公司ID")]
            public string ShopID { get; set; }
            [ParamDescription("公司代码")]
            public string ShopCode { get; set; }
            public string OldShopCode { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }

            /// <summary>
            /// SKC总量
            /// </summary>
            [ParamDescription("SKC总量")]
            public long? TotalQty { get; set; }
            [ParamDescription("尺码ID")]
            public string SizeID { get; set; }

            /// <summary>
            /// 尺码最低深度
            /// </summary>
            [ParamDescription("尺码最低深度")]
            public long? SizeMinQty { get; set; }

            public long? Qty { get; set; }
            public string Checker { get; set; }
            public DateTime? MofifyDTM { get; set; }
            public long? AllowUsed { get; set; }
            public long? Flag { get; set; }
            public string SizeLength { get; set; }
        }

        /// <summary>
        /// 计算企划订单量API实体类
        /// </summary>
        public class NeceModel : CoreModel
        {
            public string OldMaterialID { get; set; }
            public string SizeName { get; set; }
            public string SizeCodeType { get; set; }
            public string OldSizeLength { get; set; }
            public string ShopName { get; set; }
        }

        public class ModifyModel: NeceModel
        {
            public string OldShopID { get; set; }

            //public string OldMaterialID { get; set; }

            public string OldSizeID { get; set; }
        }

        public class SaveModel
        {
            public IList<ModifyModel> List { get; set; }
        }

        public class SizeModel
        {
            [ParamDescription("尺码ID")]
            public string SizeID { get; set; }

            [ParamDescription("最低深度")]
            public long? MinQty { get; set; }

            [ParamDescription("尺码")]
            public string SizeName { get; set; }

            [ParamDescription("尺码SKC数量")]
            public long? SizeQty { get; set; }
            public string ModelID { get; set; }
            public string SizeTypeFlag { get; set; }
            public string SizeLength { get; set; }
            public string OldSizeLength { get; set; }
            public long? SizeCodeSort { get; set; }
        }

        public class SizeListModel : NeceModel
        {
            public IList<SizeModel> SizeList;
        }

        public class SizeRateModel : SizeModel
        {
            [ParamDescription("尺码占比")]
            public decimal SizeRate { get; set; }
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
        }

        /// <summary>
        /// 最低深度缓存Model
        /// </summary>
        public class MinDeepCacheModel : SizeModel
        {
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }
        }

        public class TempModel: MinDeepCacheModel
        {

            public long? ID { get; set; }
            [ParamDescription("SKC总量")]
            public long? TotalQty { get; set; }
            [ParamDescription("是否最低深度")]
            public long? IsDeep { get; set; }
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("尺码占比")]
            public decimal? SizeRate { get; set; }
            [ParamDescription("城市ID")]
            public string CityID { get; set; }
            [ParamDescription("省份ID")]
            public string ProID { get; set; }
            [ParamDescription("商品区域")]
            public string ParentAreaID { get; set; }
            [ParamDescription("是否有最低深度")]
            public long? HaveDeep { get; set; }
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
        }

        public class ExportModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("数据源")]
            public string ExtrSource { get; set; }
            public long ID { get; set; }
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }
            [ParamDescription("尺码长度")]
            public string SizeLength { get; set; }
            [ParamDescription("SKC总量")]
            public long TotalQty { get; set; }
        }
    }
}
